package com.enjoyor.soa.traffic.api.service.dubbo.bigdata;
 
import com.enjoyor.soa.traffic.api.dto.bigdata.*;
import com.enjoyor.soa.traffic.util.pojo.Page;
import com.enjoyor.soa.traffic.util.pojo.ResultPojo;

import java.util.List;

public interface DubboSystemManageService {
	 /**
     * 卡口查询
     * 
     * @param kkName
     *            卡口名称，模糊查询
     * @param deptId
     *            所属部门， null查所有
     * @param inOutType
     *            1:出城卡口 2:入城卡口 3:出或入城卡口 ,0:非出入城卡口，null查所有
     * @return Page<SYSKkInfoDto>
     */
    public ResultPojo queryPoints(String token, String kkId, String kkName, String deptId, Integer inOutType,
            Page page);
    
    /**
     * 导出卡口
     * 
     * @param kkName
     *            卡口名称，模糊查询
     * @param deptId
     *            所属部门， null查所有
     * @param inOutType
     *            1:出城卡口 2:入城卡口 3:出或入城卡口 ,0:非出入城卡口，null查所有
     * @return list<SYSKkInfoDto>
     */
    public ResultPojo exPoints(String token, String kkId, String kkName, String deptId, Integer inOutType, Integer startIndex, Integer endIndex);
    /**
     * 卡口查询
     *
     * @param kkName
     *            卡口名称，模糊查询
     * @param deptId
     *            所属部门， null查所有
     * @param inOutType
     *            1:出城卡口 2:入城卡口 3:出或入城卡口 ,0:非出入城卡口，null查所有
     * @return list<SYSKkInfoDto>
     */
    public ResultPojo listPoints(String token, String kkId, String kkName, String deptId, Integer inOutType);

    /**
     * 卡口/出入城 的 添加编辑
     * 
     * @param pointsList
     * @return int 保存成功数
     */
    public ResultPojo savePoints(String token,List<SYSKkInfoDto> pointsList);
    /**
     * 卡口删除
     * @param idList
     * @return  int 成功条数
     */
    public ResultPojo delPoints(String token,List<String> idList);

    
    
    /**
     * 区域查询：重点区域、非法营运监测区域
     * @param areaType，非空，KeyArea、IllegalTaxiArea
     * @param areaName，区域名称，模糊查询
     * @return Page<SYSAreaDto>
     */
    public ResultPojo queryArea(String token, String areaType, String areaId, String areaName, Page page);
    /**
     * 导出重点区域
     *
     * @param areaType，非空，KeyArea、IllegalTaxiArea
     * @param areaName，区域名称，模糊查询
     * @return list<SYSAreaDto>
     */
    public ResultPojo exArea(String token, String areaType, String areaId, String areaName, Integer startIndex, Integer endIndex);
    /**
     * 区域查询：重点区域、非法营运监测区域
     * 
     * @param areaType，非空，KeyArea、IllegalTaxiArea
     * @param areaName，区域名称，模糊查询
     * @return list<SYSAreaDto>
     */
    public ResultPojo listArea(String token, String areaType, String areaId, String areaName);

    /**
     * 区域 添加/编辑
     * 
     * @param area
     *            区域。 注：编辑时，lstKk为null时不修改所属卡口，size=0时为清空所属卡口
     * @return int 成功条数
     */
    public ResultPojo saveArea(String token,SYSAreaDto area);
    /**
     * 区域 删除
     * @return int 成功条数
     */
    public ResultPojo delArea(String token,List<String> areaIdList);

    
    
    /**
     * 路段查询
     * @param roadregName，路段名称，模糊查询
     * @return Page<SYSRoadregDto>
     */
    public ResultPojo queryRoadreg(String token, String roadregId, String roadregName, Page page);
    
    /**
     * 导出路段查询
     * 
     * @param roadregName，路段名称，模糊查询
     * @return list<SYSRoadregDto>
     */
    public ResultPojo exRoadreg(String token, String roadregId, String roadregName, Integer startIndex, Integer endIndex);
    /**
     * 路段查询
     *
     * @param roadregName，路段名称，模糊查询
     * @return list<SYSRoadregDto>
     */
    public ResultPojo listRoadreg(String token, String roadregId, String roadregName);
    /**
     * 路段 添加/编辑 注：编辑时，lstStatFlowKk、lstStatDuraKk 为null时不修改，size=0时为清空
     * 
     * @return int 成功条数
     */
    public ResultPojo saveRoadreg(String token,SYSRoadregDto roadreg);
    /**
     * 路段 删除
     * @return int 成功条数
     */
    public ResultPojo delRoadreg(String token,List<String> idList);

    

    
    
    /**
     * 参数查询
     * @param confName  参数名称
     * @return Page<SYSConfInfoDto>
     */
    public ResultPojo queryConf(String token,String confName,String confModule,Page page);
    
    /**
     * 参数查询
     * 
     * @param confName
     *            参数名称
     * @return list<SYSConfInfoDto>
     */
    public ResultPojo listConf(String token, String confName, String confModule);

    /**
     * 参数 添加/编辑
     * 
     * @return int 成功条数
     */
    public ResultPojo saveConf(String token,List<SYSConfInfoDto> lstConf);

    public ResultPojo getLogPage(String sysName,String logModular, String token,String transType, Page page);
    public ResultPojo getLog(String sysName,String logModular, String token,String transType);
    public ResultPojo insertPubLog(PubLogDto log);


    /**
     * 查询非法营运监控点位
     * @param token
     * @param page
     * @return Page<SYSKkInfoDto>
     */
    public ResultPojo queryIllegalTaxiPoints(String token,Page page);

    /**
     * 查询非法营运监控点位
     * @param token
     * @return List<SYSKkInfoDto>
     */
    public ResultPojo exIllegalTaxiPoints(String token);
    /**
     * 添加非法营运监控点位
     * @param token
     * @param pointIds
     * @return int 成功条数
     */
    public ResultPojo addIllegalTaxiPoints(String token,List<String> pointIds);

    /**
     * 删除非法营运监控点位
     * @param token
     * @param pointIds
     * @return int 成功条数
     */
    public ResultPojo delIllegalTaxiPoints(String token,List<String> pointIds);

}
